/**
 * @file Interfaz.java
 * @brief Entidad que trabaja aspectos de las interfaces y resolución del monitor.
 *
 * Copyright (C)  - Jun [2011]
 *
 * @author Miguel Ángel Díaz López
 * @version 01.00
 * @footnote e-mail:  admin at etsiit.es
 *
 */

package paciente;

import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;



public class Interfaz {
       private static int _alto_frame_principal;

       /**
        * @brief Según cambia el frame principal lo hace el la var. con el alto.
        * @param alto, ventana
        */
       public static void setSizeFrame(int alto){
           _alto_frame_principal = alto;
       }

     /**
       * @brief  Según la resolución del monitor, devuelve un tamaño de letra apropiado para PANELES.
       * @return Font, fuente correspondiente para la resolución.
       * @author Miguel Ángel Díaz López
       */
       public static Border setFontSizeBorder(javax.swing.JPanel panel) {
           javax.swing.border.TitledBorder b;
           b = (TitledBorder) panel.getBorder();
           b.setTitleFont(Interfaz.setFontSizeDinamic());
           return b;
       }


     /**
       * @brief  Según la resolución del monitor, devuelve un tamaño de letra apropiado.
       * @return Font, fuente correspondiente para la resolución.
       * @author Miguel Ángel Díaz López
       */
       public static Font setFontSizeDinamic() {
           int tam =36;
           if(_alto_frame_principal <= 600) tam = 14;
           else if(_alto_frame_principal > 600 && _alto_frame_principal <= 659) tam = 16;
           else if(_alto_frame_principal <= 800) tam = 18;
           else if(_alto_frame_principal <= 1080) tam = 24;
           Font f = new Font("Tahoma",0,tam);
           return f;
       }

       /**
	 * @brief  Según la resolución del monitor, devuelve un tamaño de letra apropiado.
	 * @return Font, fuente correspondiente para la resolución.
         * @author Miguel Ángel Díaz López
         * @author Revisado por: Miguel Ángel Díaz López
	 */
        public static Font setFontSize() {
            Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
            float alto = d.height;
            int tam =36;
            if(alto <= 600) tam = 14;
            else if(alto>600 && alto <= 659) tam = 16;
            else if(alto <= 800) tam = 18;
            else if(alto <= 1080) tam = 24;
            Font f = new Font("Tahoma",0,tam);
            return f;
        }

       /**
	 * @brief  Según la resolución del monitor, devuelve un tamaño de letra apropiado en negrita.
	 * @return Font, fuente correspondiente para la resolución.
         * @author Víctor Martínez Gómez
	 */
        public static Font setBoldFontSize() {
            Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
            float alto = d.height;
            int tam =36;
            if(alto <= 600) tam = 14;
            else if(alto>600 && alto <= 659) tam = 16;
            else if(alto <= 800) tam = 18;
            else if(alto <= 1080) tam = 24;
            Font f = new Font("Tahoma",Font.BOLD,tam);
            return f;
        }
        
       /**
	 * @brief  Vacía el contenido de una tabla para la interfaz.
	 * @return void
         * @author Miguel Ángel Díaz López
	 */
        public static void limpiarTabla(javax.swing.JTable tabla) {
            while(((DefaultTableModel)tabla.getModel()).getRowCount()>0)
            ((DefaultTableModel)tabla.getModel()).removeRow(0);
        }
}
